package com.wisely.highlight_spring4.ch3.conditional;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ConditionConifg {
	/**
	 * @return
	 * GY
	 * 2018年1月30日
	 * 根据条件类中的matches方法返回来判断产生的bean
	 * @Conditional判断各类中matches方法的条件结果
	 * @Bean生成的容器中的对象的名称为方法返回类型的首字母小写名
	 */
	@Bean
	//执行到这就会去判断这个类的matches方法的结果true则生产beanfalse则略过
    @Conditional(WindowsCondition.class) //1
    public ListService windowsListService() {
        return new WindowsListService();
    }

    @Bean
    @Conditional(LinuxCondition.class) //2
    public ListService linuxListService() {
        return new LinuxListService();
    }

}
